Technical Field
The present disclosure relates to virtualized computing environments and, more specifically, to physical-to-virtual, and virtual-to-physical, storage conversion in a virtualized computing environment.
Background Information
A physical machine environment may include a host computer, such as a desktop, laptop or server, having computing resources, such as processing elements and/or logic circuitry, configured to execute operations that functionally organize the computer. The computing resources may be further configured to execute software programs and/or process data stored on one or more storage devices, such as disks, attached to a storage system. The software programs and/or data may be stored on physical storage represented by a sequential set of blocks on the disks that are presented to the host computer in the form of a logical unit number (LUN).
It may be desirable to virtualize the physical machine environment to, e.g., enable sharing of the computing resources of the host computer. In such a virtualized computing environment, the host computer may be configured to execute a virtual machine operating system as well as one or more “guest” operating systems to essentially implement virtual machines on the computer. The virtual machine operating system may include a virtualization layer or module (“hypervisor”) configured to mask low-level hardware operations from one or more guest operating systems executing on the virtual machine operating system. As used herein, a hypervisor is a virtualization platform that permits the guest operating systems (or portions of a guest operating system) to execute on the host computer at the same time.
When virtualizing the physical machine environment, it may be necessary to convert the physical storage presented to the host computer into virtual storage represented by a virtual storage device that is presented to the hypervisor in the form of a virtual disk file. Such physical-to-virtual storage conversion involves converting the disks attached to the host computer from the LUN representation into a proper virtual disk file representation having a format compatible with the hypervisor. A known process for performing this storage conversion essentially involves copying, e.g., by the storage system, of data from the LUN into the virtual disk file. That is, the conversion process includes creating the virtual disk file, reading each block of the LUN and writing each read block to the file. The process then completes by writing a header and footer that configure the virtual disk file to a proper format for the hypervisor. However, this process is generally time consuming and idle intensive, and places substantial load on the storage system.